p= new char [strlen(str)+1]?

来源:百度知道 编辑:UC知道 时间:2024/05/03 19:43:49
例如:#include <iostream>
#include <cstring>
using namespace std;
class student
{char *name;
static int number;
int idcard;
float score;
public:student (char *str,float x)
{name=new char [strlen(str)+1];//new后面的是什么意思啊?
strcpy(name,str);
number++;
idcard=number;
score = x;}
.......

“name=new char [strlen(str)+1];”语句的意思是“动态分配一个长度为strlen(str)+1的字符数组空间,并把数组首地址赋给指针变量name”,而strlen(str)是头文件string.h中计算字符串长度的函数。

呵呵,我刚开始学的时候也不是很懂这快内容,语言这东西就是要多练。

new char[10] //动态分配10个字节的字符数组

new char [strlen(str)+1];//动态分配strlen(str)+1个字节的字符数组